<div class="box-page-container">
  <div class="box-page-header">
    <div class="title">Редактирование ресурса</div>
    <div class="other-controls right">
    </div>
  </div>
  <div id="page-helper" class="box-page-helper-content">
	<p>Внимание! Не изменяйте настройки если не знаете что к чему.</p>
  </div>
  <div class="box-page-body">
    <div class="box-message" id="message" style="display: none;"></div>
    <form id="cp-group-create-form" enctype="application/x-www-form-urlencoded" class="form" action="" method="post"><dl class="zend_form">
		<dt id="key-label"><label for="key" class="required">Ключивое имя:</label></dt>
		<dd id="key-element">
		<input type="text" name="key" id="key" value="<?php echo $this->resource->name ?>">
		<p class="description"></p></dd>
		<dt id="description-label"><label for="title" class="required">Описание:</label></dt>
		<dd id="description-element">
		<input type="text" name="description" id="description" value="<?php echo $this->resource->description ?>">
		<p class="description"></p></dd>
		<dt id="module-label"><label for="description" class="required">Модуль:</label></dt>
		<dd id="module-element">
			<select id="module-list">
				<?php foreach ($this->modules as $module): ?>
					<option id="<?php echo $module->id ?>" <?php echo ($this->module->id == $module->id) ? 'selected' : '' ?>><?php echo $module->title ?></option>
				<?php endforeach;?>
			</select>
		<p class="description"></p></dd></dl>
		<dt id="action-label"><label for="title" class="required">Действие:</label></dt>
		<dd id="action-element">
		<input type="text" name="action" id="action" value="<?php echo $this->resource->action ?>">
		<p class="description"></p></dd>
	</form>
  </div>
  <div class="box-page-footer">
    <div class="box-controls">
      <div class="right">
       	<div class="btn"><button onclick="save(this, '<?php echo $this->resource->id ?>'); return false;" class="primary">Сохранить</button></div>
      </div>
      <div id="progress" class="progress ajax-preloader-base"></div>
      <div id="control_text" class="box-controls-text"></div>
      <div class="clear-fix"></div>
    </div>
  </div>
  <div class="clear-fix"></div>
</div>
<style>
input[type="text"] {
  width: 230px;
}
</style>
<script src="/js/jquery/jquery.js"></script>
<script>
$('.form #key').keyup(function(){
	var val = $(this).val();
	var message = '';
	if (!val) {
		message = '<span style="color: red;">Пожалуйста, укажите ключевое имя ресурса!</span>';
	}
	var regexp = /^[a-z0-9_]*$/i;
	if (!regexp.test(val)) {
		message = '<span style="color: red;">Не верный формат ключевого имени ресурса! Доступен только английский алфавит, цифры и знак "-"</span>';
	}
	$('#key-element .description').html(message);
});
$('.form #description').keyup(function(){
	var val = $(this).val();
	var message = '';
	if (!val) {
		message = '<span style="color: red;">Пожалуйста, укажите заголовок для ресурса!</span>';
	}
	var regexp = /^[a-zа-я0-9_\s\-\.]*$/i;
	if (!regexp.test(val)) {
		message = '<span style="color: red;">Не верный формат заголовка! Доступен английский, русский алфавиты, пробел, цифры и знаки "-", "_", "."</span>';
	}
	$('#description-element .description').html(message);
});
$('.form #action').keyup(function(){
	var val = $(this).val();
	var message = '';
	if (!val) {
		message = '<span style="color: red;">Пожалуйста, укажите действие для ресурса!</span>';
	}
	var regexp = /^[a-z\.\*]+\:\:[a-z\.\*]+$/i;
	if (!regexp.test(val)) {
		message = '<span style="color: red;">Не верный формат действия! [a-z*]::[a-z*]</span>';
	}
	$('#action-element .description').html(message);
});
function save(el, id) {
	var msgBox = goog.dom.getElement('message');
	var key = goog.dom.getElement('key'),
		description = goog.dom.getElement('description'),
		action = goog.dom.getElement('action');
	if (!key.value) {
    	key.focus();
    } else if (!description.value) {
    	description.focus();
    } else if (!action.value) {
        action.focus();
    }
    if (!key.value || !action.value || !description.value) {
    	msgBox.innerHTML = '<p>Все поля обязательны для заполнения.</p>';
		fx = new goog.fx.dom.FadeInAndShow(msgBox, 200);
		fx.play();
		return false;
    }
	if (msgBox.innerHTML != '') {
		fx = new goog.fx.dom.FadeOutAndHide(msgBox, 200);
		fx.play();
		msgBox.innerHTML = '';
	}
	$(el).hide();
	$('#progress').show();
	$.ajax({
		'url': '/cp/resource/edit.save',
		'type': 'POST',
		'dataType': 'json',
		'data': {
			'id': id,
			'key': key.value,
			'description': description.value,
			'module_id': $('option:selected', '#module-list').attr('id'),
			'resource_action': action.value,
		},
		'success':  function(response){
			if (typeof response.status == 'string' && response.status == 'ok') {
				$('.box-page-body').html('Ресурс <b>' + description.value + '</b> сохранен. <a href="/cp/resource">Перейти к списку ресурсов</a>, <a href="/cp/resource/create">Создать ресурс</a>');
				$('#progress').hide();
				$(el).hide();
			} else if (typeof response.status == 'string' && response.status == 'error') {
				msgBox.innerHTML = '<p>' + response.message + '.</p>';
				fx = new goog.fx.dom.FadeInAndShow(msgBox, 200);
				fx.play();
				$(el).show();
				$('#progress').hide();
			}
		}
	});
}
</script>